package com.qfmy.web.app.mapper.listenBook;


import com.qfmy.model.entity.listenBook.AudioResource;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


/**
 * @author 清风明月
 * @Package com.qfmy.web.app.mapper.listenBook
 * @date 2025/11/01
 * @description 听书
 */
@Mapper
public interface AudioResourceMapper {


    /**
     * 根据id查询
     * @param audioId
     * @return
     */
    AudioResource getAudioById(Integer audioId);

    /**
     * 查询推荐排行
     * @param startIndex
     * @param pageSize
     * @return
     */
    List<AudioResource> getRecommendRank(int startIndex, Integer pageSize);

    /**
     * 查询最热播放
     * @param startIndex
     * @param pageSize
     * @return
     */
    List<AudioResource> getHotPlay(int startIndex, Integer pageSize);

    /**
     * 查询完结
     * @param startIndex
     * @param pageSize
     * @return
     */
    List<AudioResource> getFinish(int startIndex, Integer pageSize);

    /**
     *  最新
     * @return
     */
    List<AudioResource> getNewestAudio();

    /**
     * 获取热门听书
     * @param startIndex
     * @param pageSize
     * @return
     */
    List<AudioResource> getHotNewBooks(int startIndex, Integer pageSize);

    /**
     * 获取经典听书
     * @return
     */
    List<AudioResource> getClassicAudio();

    /**
     * 猜你喜欢
     * @param startIndex
     * @param pageSize
     * @param userId
     * @return
     */
    List<AudioResource> getGuessYouLike(int startIndex, Integer pageSize, Long userId);

    /**
     * 获取相似听书
     * @param categoryId
     * @param audioId
     * @return
     */
    List<AudioResource> getSimilarAudio(Integer categoryId, Long audioId);

    /**
     * 获取所有听书
     * @return
     */
    List<AudioResource> getAllAudio();

    /**
     * 根据分类名称获取听书
     * @param type
     * @return
     */
    List<AudioResource> getAudioByCategoryname(String type);
}
